package com.passwordmanager.service;

import com.passwordmanager.dto.password.PasswordEntryDto;
import com.passwordmanager.dto.password.PasswordGenerateRequest;
import com.passwordmanager.model.PasswordStrengthCheck;

import java.util.List;

public interface PasswordService {
    // 密码生成
    String generatePassword(PasswordGenerateRequest request);
    
    // 密码管理
    PasswordEntryDto createPassword(PasswordEntryDto passwordDto, String username);
    PasswordEntryDto updatePassword(Long id, PasswordEntryDto passwordDto, String username);
    void deletePassword(Long id, String username);
    PasswordEntryDto getPassword(Long id, String username);
    List<PasswordEntryDto> getAllPasswords(String username);
    
    // 密码共享
    void sharePassword(Long passwordId, String shareWithUsername, String ownerUsername);
    void removePasswordShare(Long passwordId, String shareWithUsername, String ownerUsername);
    List<PasswordEntryDto> getSharedPasswords(String username);
    
    // 密码强度检查
    PasswordStrengthCheck checkPasswordStrength(String password);
} 